package com.roomio.mail.service;

import java.util.Map;

public interface MailService {


	/**
	 * Send a template based mail
	 * Tokenizes Emails separated with a comma ","
	 * 
	 * @param subject
	 * @param fromAddress
	 * @param toAddresses
	 * @param ccAddresses
	 * @param bccAddresses
	 * @param templateName
	 * @param mergeProperties
	 */	
	public void sendTemplateMail(final String subject, final String fromAddress, final String toAddresses, final String ccAddresses,
			final String bccAddresses, final String templateName, final Map<Object, Object> mergeProperties);
	
	/**
	 * Send a template based mail
	 * 
	 * @param subject
	 * @param fromAddress
	 * @param toAddresses
	 * @param ccAddresses
	 * @param bccAddresses
	 * @param templateName
	 * @param mergeProperties
	 */
	public void sendTemplateMail(final String subject, final String fromAddress, final String[] toAddresses, final String[] ccAddresses,
			final String[] bccAddresses, final String templateName, final Map<Object, Object> mergeProperties);

	/**
	 * Simple message not based on any template
	 * 
	 * @param subject
	 * @param fromAddress
	 * @param toAddresses
	 * @param ccAddresses
	 * @param bccAddresses
	 * @param content
	 */
	public void sendMail(final String subject, final String fromAddress, final String[] toAddresses, final String[] ccAddresses,
			final String[] bccAddresses, final String content, final boolean isHTML);

}
